/**
 * Created by Administrator on 2018/4/4.
 */
var table;
$(function () {
    table = $('#data_list').DataTable({
        "ajax": {
            "url": $("#basePath").val() + "teacher/score/list",
            "type": "POST",
            "data": function (d) {
                return {
                    "bname": $('#query_bname').val()
                };
            }
        },
        "columns": [
            {"data": "bname"},
            {"data": "sname"},
            {"data": null}
        ],
        columnDefs: [
            {
                targets: 2,
                render: function (a, b, c, d) {
                    return "<button type='button' class='btn btn-xs btn-warning' id='btn_edit' onclick='showUpdate(\"" + c.id + "\")'>修改成绩</button>&nbsp";
                }
            }
        ],
    });
});

function showUpdate(id) {
    jQuery.ajax({
        type: 'POST',
        url: $("#basePath").val() + 'teacher/score/findById',
        cache: false,
        data: {id: id},
        success: function (data) {
            $("#update_id").val(id);
            $("#update_bname").val(data.bname);
            $("#update_sname").val(data.sname);
            $("#update_score").val(data.score);
            $('#modal_update').modal('show');
        },
        error: function (jqXHR, textStatus, errorThrown) {
            showInfo("操作失败，请重试");
        }
    });
}

function query() {
    table.ajax.reload();
}

function showAdd() {
    $('#modal_add').modal('show');
}

function update() {
    if (!validUpdate()) {
        return;
    }

    var param = {
        id: $.trim($("#update_id").val()),
        bname: $.trim($("#update_bname").val()),
        sname: $.trim($("#update_sname").val()),
        score: $.trim($("#update_score").val())
    }

    jQuery.ajax({
        type: 'POST',
        url: $("#basePath").val() + 'teacher/score/update',
        cache: false,
        data: param,
        success: function (data) {
            if (data) {
                $('#modal_update').modal('hide');
                showInfo("操作成功");
                table.ajax.reload();
            } else {
                showInfo("操作失败，请重试");
            }
        },
        error: function (jqXHR, textStatus, errorThrown) {
            showInfo("操作失败，请重试");
        }
    });
}

function validUpdate() {
    var flag = true;

    var update_bname = $.trim($("#update_bname").val());
    if (update_bname == "") {
        $("#update_bname").parent().parent().addClass("has-error");
        $("#update_bname").next().text("请输入课程名称");
        flag = false;
    } else if (update_bname.length > 100) {
        $("#update_bname").parent().parent().addClass("has-error");
        $("#update_bname").next().text("课程名称长度不能大于100");
        flag = false;
    } else {
        $("#update_bname").parent().parent().removeClass("has-error");
        $("#update_bname").next().text("");
    }


    var update_sname = $.trim($("#update_sname").val());
    if (update_sname == "") {
        $("#update_sname").parent().parent().addClass("has-error");
        $("#update_sname").next().text("请输入学生姓名");
        flag = false;
    }  else {
        $("#update_sname").parent().parent().removeClass("has-error");
        $("#update_sname").next().text("");
    }


    var update_score = $.trim($("#update_score").val());
    if (update_score == "") {
        $("#update_score").parent().parent().addClass("has-error");
        $("#update_score").next().text("请输入成绩");
        flag = false;
    } else if (update_score.length > 4) {
        $("#update_score").parent().parent().addClass("has-error");
        $("#update_score").next().text("成绩长度不能大于4");
        flag = false;
    } else if (!update_score.match(/^(0|[1-9][0-9]*)$/)) {
        $("#update_score").parent().parent().addClass("has-error");
        $("#update_score").next().text("请输入数字");
        flag = false;
    } else if (!update_score.match(/^(?:0|[1-9][0-9]?|100)$/)){
        $("#update_score").parent().parent().addClass("has-error");
        $("#update_score").next().text("请输入0-100的数字");
        flag = false;
    }else {
        $("#update_score").parent().parent().removeClass("has-error");
        $("#update_score").next().text("");
    }



    return flag;
}

function showInfo(msg) {
    $("#div_info").text(msg);
    $("#modal_info").modal('show');
}